﻿Public Class clMonstruo : Inherits clSer
    Protected Property esJefe As Boolean 'para diferenciar al jefe del piso/juego
    Protected Property _recompensa As clObjeto 'Premio por derrotarlo
    Protected Property _habilidades As List(Of clHabilidad)
    Protected Property _ratioAparicion As Byte = 0
    Public Property _imagen As Image

    Public Function aparicionAleatoria(ByVal ratio As Byte) As Boolean ' el jefe aparece si o si
        If Me.esJefe = True Then
            Return True 'no se si asi estara correcto
        Else
            Dim aleator As New Random 'TODO COMPROBAR QUE FUNCIONA ESTO COMO PIENSO-Casel
            Dim resultado As Integer
            resultado = aleator.Next(0, ratio)
            If resultado / ratio Mod 0 Then ' TODO esto os parece bien? si no hacer otra formula xD
                Return True
            Else
                Return False ' no aparece
            End If
        End If

    End Function
    Public Function Vencido() As clObjeto ' cuando muere deja un premio
        If Me.Vivo = False Then
            Return _recompensa
        Else
            Return Nothing
        End If
    End Function
    Public Function atacara() As clHabilidad
        Dim aleator As New Random
        Dim numero_habilidad As Integer
        numero_habilidad = aleator.Next(lista_habilidades_monstruos.Count)
        Return lista_habilidades_monstruos(numero_habilidad)

    End Function
    Public Sub New(ByVal nombre As String, ByVal ataque As Double, ByVal defensa As Double, ByVal vida As Double, ByVal velocidad As Double, ByVal recompensa As clObjeto)
        Me._Nombre = nombre
        Me._Ataque = ataque
        Me._AtaqueActual = ataque
        Me._Defensa = defensa
        Me._DefensaActual = defensa
        Me._Vida = vida
        Me._VidaRestante = vida
        Me._Velocidad = velocidad
        Me._VelocidadActual = velocidad
        Me._recompensa = recompensa
    End Sub
    Public Sub New(ByVal nombre As String, ByVal ataque As Double, ByVal defensa As Double, ByVal vida As Double, ByVal velocidad As Double, ByVal vidarestante As Double, ByVal recompensa As clObjeto, ByVal imagen As Image)
        Me.New(nombre, ataque, defensa, vida, velocidad, recompensa)
        Me._imagen = imagen
    End Sub
    'Public Sub New()

    'End Sub
    Public Function recompensa() As clObjeto
        Return Me._recompensa
    End Function
End Class